// const express = require('express')
const  express = require('./lib/express')

const app = express()

// app.get('/',(req,res)=>{
//     res.end('home')
// })
// app.get('/about',(req,res)=>{
//     res.end('about')
// })

// // 匹配 /acd 和 /abcd
// app.get('/ab?cd',(req,res)=>{
//     res.end('a?cd')
// })
// // 匹配 ab 开头，cd 结尾
// app.get('/ab*cd',(req,res)=>{
//     res.end('ab*cd')
// })

// http://localhost:3000/users/1/books/2，返回：{"userId":"1","bookId":"2"}
// app.get('/users/:userId/books/:bookId',(req,res)=>{
//     res.end(JSON.stringify(req.params))
// })

// app.get('/',(req,res,next)=>{
//     console.log('middleware 1 start')
//     next()
//     console.log('middleware 1 end')
// },(req,res,next)=>{
//     console.log('middleware 2 start')
//     next()
//     console.log('middleware 2 end')
// })
// app.get('/',(req,res,next)=>{
//     console.log('middleware 3 start')
//     next()
//     console.log('middleware 3 end')
// })


// 请求 http://localhost:3000/user/book，以下四个中间件都执行
// 1.不验证请求方法和路径
app.use((req, res, next) => {
    console.log('use')
    next()
})
// 2.处理以摸个路径开头的请求
app.use('/user', (req, res, next) => {
    console.log('user 开头') // /user/book 可以，但是 /user1111 不可用
    next()
})
// 3.支持多个
app.use('/', (req, res, next) => {
    console.log('多个 1')
    next()
}, (req, res, next) => {
    console.log('多个 2')
    next()
})
app.get('/user/book', (req, res) => {
    res.end('book')
})
app.listen(3000, () => {
    console.log('http://localhost:3000')
})
